1. Technical Field
The present invention relates to web based software applications, and more particularly to is a server-page based software architecture that uses a use-case to drive development and maintenance of an evolving, web based software application.
2. Discussion of Related Art
Rapid software prototyping is an approach to facilitating the communications between customers and requirement engineers in defining software requirements, helping to gain an early customer buy in product ideas, managing the product risk by exploring the feasibility of the software development, and evaluating alternatives in which software can be built. Based upon different emphases for those goals, a software prototype can be classified as a throwaway software prototype, a mock-up, or an evolutionary prototype. For the throwaway software prototype, the requirement is the delivery rather than the software. For the mock-up, the prototype is used to gather the requirement and customer buy-in. Data used in the mock-up prototype is faked. The evolutionary prototype uses real data and the prototype evolves into a product.
An important challenge in developing an evolutionary prototype is how to ensure the software implementation is traceable from the software requirements, easy to modify, and behaves consistently when being invoked by different application functions. To add or modify an existing feature, the software developers need to trace the feature in the software requirements to the specific software prototype code for modifying. The developers need to ensure that the modification will change the software behaviors consistently over different invocations of the same feature and should not impact other features improperly.
Technologies that have been used to support user workflows in a web application include Business Process interpreters and scenario-based simulation.
The Business Process interpreter supports a workflow, using Microsoft® Active Server Page technology to get HTTP requests from the web page. The Business Process interpreter uses Microsoft® COM (Component Object Model) technology to set and save a context for the workflow, and interpret business process definitions that are defined in an XML format. The Business Process interpreter is not designed for systematically evolving the software from a prototype to a product.
Scenario-based simulation supports the implementation of scenarios for the prototyping purpose. Each request from the web page is processed to generate a XML definition of the user interface. This definition is further translated to HTML for displaying. Scenario-based simulation prototypes can only provide the user look and feel, and limited system behaviors. For example, the prototype may not be used to validate the system architecture vertically and the system behaviors that use real data. Scenario-based simulations lack a detailed and structured approach of evolving a prototype to a product.
Therefore, a need exists for a system and method for is a server-page based software architecture using a use-case to drive the evolutionary, rapid development and easy maintenance of a highly evolving, web based software application.